Almost every game being developed immerses a player in a graphically depicted virtual world. However, realistic graphic visual representation of virtual worlds and simulated environments is a complex and difficult task. Software developers must trade off realism with efficiency. As the software is instructed to place more objects in the simulated environment, thus providing more realism, computer performance suffers because management of more objects requires more processor time and memory. In addition, software developers must trade off manual versus automatic creation and placement of objects. For example, a software developer might create a realistic forest area by manually placing each object (e.g., tree, bush, fallen branch, stream, deer, etc., in a specific location within the forest area. As the forest area becomes larger, however, manual placement becomes difficult and tedious.
In populating objects into a virtual world on the scope of an entire planet, it becomes almost impossible to place every single object correctly with respect to every other object. For example, as the size of the simulated environment increases, it becomes necessary to automate the creation process, allowing a computer to automatically determine where to place objects. However, it is difficult to instruct automated processes how to resolve conflicts between two objects competing for the same location, e.g., trees and roads should not be randomly placed on top of buildings, etc. For instance, a software application might annotate types of ground coverage in areas where trees are likely. When generic tiles are used with the corresponding automatically placed objects, such as trees, there can be conflicts between the placement of the automatically placed objects (trees) and manually placed, known objects (e.g., the Space Needle). Thus, it would be an advance in the art to provide an extensible system to layer dependent spatial data. It would be a further advance in the art to provide a mechanism to automatically place objects in a manner so as not to conflict with other automatically placed objects as well as with manually placed objects.